package cn.galudisu.reactivemanifesto

import akka.http.scaladsl.model.Uri
import akka.stream.ActorMaterializer
import cn.galudisu.reactivemanifesto.GospelCircuitBreaker.Starting
import cn.galudisu.reactivemanifesto.event.CircuitBreakerBus

class GospelCircuitBreaker(val uris: Set[Uri], val eventBus: CircuitBreakerBus)
                          (implicit val mat: ActorMaterializer) extends BasicCircuitBreaker {

  override def receive: Receive = {
    case Starting =>
      invoke
  }
}

object GospelCircuitBreaker {

  case class Starting(uris: Set[Uri])
}